Platform
In computing, a platform describes some sort of hardware architecture and software framework (including application frameworks), that allows software to run. Typical platforms include a computer's architecture, operating system, programming languages and related user interface (runtime libraries or graphical user interface). Role in software A platform is a crucial element in software development. A platform might be simply defined as 'a place to launch software'. It is an agreement that the platform provider gave to the software developer that logic code will interpret consistently as long as the platform is running on top of other platforms. Logic code includes byte code, source code, and machine code. .NET Microsoft .NET is an umbrella term that applies to a wide collection of products and technologies from Microsoft. Most have in common a dependence on the Microsoft .NET Framework. Java Java programs are a typical example of the latter point. Java source code is "compiled" to an intermediate-language bytecode which is then interpreted by an interpreter, the JVM, which then interfaces that program with the Java software libraries. In phones, PDAs and other wireless mobile devices, these libraries are the Java ME. Some phones, even without a full fledged OS, enable Java programs such as games to operate. Java and the bytecode are said to be platform independent. But this is because Java is the platform as well as a programming language. Software really cannot operate without a platform or be platform independent. The programming language is referred to here, meaning the programmer need not be concerned about the hardware or operating system platform, nor will the language change with a different platform. Operating system platform examples * AmigaOS * BSD line, FreeBSD, NetBSD, OpenBSD * Google Chrome OS * Linux * Mac OS backward compatibility via Rosetta * Microsoft Windows ** WINE platform to behave like Microsoft Windows * IBM/Microsoft Operating System 2 * PlayStation Portable * Solaris * IBM VM/370, VM/BSEP, VM/SEP, VM/XA, VM/ESA, z/VM Software platform examples * Java - JDK and JRE * .NET Framework * Mozilla Prism Xul and XUL Runner * uniPaaS * Adobe AIR * Mono * Vexi * Flash * UCSD p-System * Steam Gaming software platforms * Interactive fiction interpreters **zMachine **TADS * Adventure game engines **SCUMM **AGI Hardware examples * Supercomputer architectures. * RISC processor based machines running UNIX variants: ** SPARC architecture computers running the Solaris operating system. ** DEC Alpha cluster running under OpenVMS. * Macintosh custom Apple Computer hardware and Mac OS operating system (now migrated on x86). ** Newton devices running the Newton OS, also from Apple. *Amiga custom Commodore hardware and Amiga OS operating system. **Amiga PPC now running Power PC. *Commodity computer **Wintel ** x86 Unix machines ** CP/M computers based on the S-100 bus. Perhaps the earliest microcomputer platform. * Gumstix full function miniature computers with Linux. * A mainframe computer with its custom operating system, say an IBM z/OS. * A midrange computer with its custom operating system, say an IBM OS/400. * ARM architecture found in mobile devices. ** Acorn Archimedes family * Any number of home computer families. ** Atari 8-bit family running either the BASIC or AtariDOS. ** Apple II family running Apple BASIC, AppleDOS, or ProDOS. ** Acorn BBC family ** Amstrad CPC ** Amstrad PCW ** ZX Spectrum * Any number of game consoles families. Symbian * UIQ * S60 platform * Symbian platform Linux * Linux * Qt Extended * Maemo * Android * LiMo * Openmoko Run time * JavaFX Mobile * Java ME * Helix Others * APOXI * BREW * Palm OS * Windows Mobile * Blackberry OS Category:Terms Category:Platforms